#include "VGCVirtualGameConsole.h"
#include "CRectangleEntity.h"
#include "CVector.h"
#include <iostream>

using namespace std;

CRectangleEntity::CRectangleEntity(int x, int y, int width, int height):
	CEntity(x, y),
	color(VGCColor(255, 0, 0, 0)),
	size(CVector(width, height)),
	filled(true) {}

CRectangleEntity::~CRectangleEntity() {}

void CRectangleEntity::setColor(VGCColor color) {
	this->color = color;
}

VGCColor CRectangleEntity::getColor() {
	return this->color;
}

void CRectangleEntity::setSize(CVector size) {
	this->size = size;
}

CVector CRectangleEntity::getSize() {
	return this->size;
}

void CRectangleEntity::setFilled(bool filled) {
	this->filled = filled;
}

bool CRectangleEntity::isFilled() {
	return this->filled;
}

void CRectangleEntity::draw(const double &time) {
	VGCDisplay::renderRectangle(VGCRectangle(getPosition().toVGC(), getSize().getX(), getSize().getY()), getColor(), getAdjustment(), isFilled());
}

bool CRectangleEntity::isAt(CVector point) {
	return ((point.getX() > getPosition().getX())
		&&  (point.getY() > getPosition().getY())
		&&  (point.getX() < getPosition().getX() + getSize().getX())
		&&  (point.getY() < getPosition().getY() + getSize().getY()));
}